home *** CD-ROM | disk | FTP | other *** search
Wrap
CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) NNNNAAAAMMMMEEEE CCCCHHHHEEEERRRRKKKK, ZZZZHHHHEEEERRRRKKKK - Performs Hermitian rank _k update of a complex Hermitian matrix SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS Single precision complex Fortran: CCCCAAAALLLLLLLL CCCCHHHHEEEERRRRKKKK ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _n,,,, _k,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _b_e_t_a,,,, _c,,,, _l_d_c)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd cccchhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, iiiinnnntttt _k,,,, ffffllllooooaaaatttt *_a_l_p_h_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ffffllllooooaaaatttt *_b_e_t_a,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_c,,,, iiiinnnntttt _l_d_c))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd cccchhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ffffllllooooaaaatttt *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ffffllllooooaaaatttt *_b_e_t_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_c,,,, iiiinnnntttt _l_d_c))));;;; Double precision complex Fortran: CCCCAAAALLLLLLLL ZZZZHHHHEEEERRRRKKKK ((((_u_p_l_o,,,, _t_r_a_n_s,,,, _n,,,, _k,,,, _a_l_p_h_a,,,, _a,,,, _l_d_a,,,, _b_e_t_a,,,, _c,,,, _l_d_c)))) C/C++: ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd zzzzhhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ddddoooouuuubbbblllleeee *_a_l_p_h_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_a,,,, iiiinnnntttt _l_d_a,,,, ddddoooouuuubbbblllleeee *_b_e_t_a,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_c,,,, iiiinnnntttt _l_d_c))));;;; C++ STL: ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>> ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>> vvvvooooiiiidddd zzzzhhhheeeerrrrkkkk ((((cccchhhhaaaarrrr *_u_p_l_o,,,, cccchhhhaaaarrrr *_t_r_a_n_s,,,, iiiinnnntttt _n, _i_n_t _k,,,, ddddoooouuuubbbblllleeee *_a_l_p_h_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_a,,,, iiiinnnntttt _l_d_a,,,, ddddoooouuuubbbblllleeee *_b_e_t_a,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_c,,,, iiiinnnntttt _l_d_c))));;;; IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN These routines are part of the SCSL Scientific Library and can be loaded using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option. The ----llllssssccccssss____mmmmpppp option directs the linker to use the multi-processor version of the library. When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is 4 bytes (32 bits). Another version of SCSL is available in which integers are 8 bytes (64 bits). This version allows the user access to larger memory sizes and helps when porting legacy Cray codes. It can be loaded by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use only one of the two versions; 4-byte integer and 8-byte integer library PPPPaaaaggggeeee 1111 CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) calls cannot be mixed. The C and C++ prototypes shown above are appropriate for the 4-byte integer version of SCSL. When using the 8-byte integer version, the variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header file should be included. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN These routines perform a Hermitian rank _k update of a complex Hermitian matrix. They perform one of the following Hermitian rank _k operations: _C <- _a_l_p_h_a _A_A_H + _b_e_t_a _C _C <- _a_l_p_h_a _A_H_A + _b_e_t_a _C where the following is true: * _a_l_p_h_a and _b_e_t_a are scalars; * _C is an _n-by-_n Hermitian matrix; * _A is an _n-by-_k matrix in the first operation listed previously, and a _k-by-_n matrix in the second; * and _A_H is the conjugate transpose of _A. See the NOTES section of this man page for information about the interpretation of the data types described in the following arguments. These routines have the following arguments: _u_p_l_o Character. (input) Specifies whether the upper or lower triangular part of array _c is referenced, as follows: _u_p_l_o = 'U' or 'u': only the upper triangular part of _c is referenced. _u_p_l_o = 'L' or 'l': only the lower triangular part of _c is referenced. _t_r_a_n_s Character. (input) Specifies the operation to be performed, as follows: _t_r_a_n_s = 'N' or 'n': _C <- _a_l_p_h_a _A_A_H + _b_e_t_a _C _t_r_a_n_s = 'C' or 'c': _C <- _a_l_p_h_a _A_H _A + _b_e_t_a _C _n Integer. (input) Specifies the order of matrix _C. _n must be >= 0. PPPPaaaaggggeeee 2222 CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) _k Integer. (input) On entry with _t_r_a_n_s = 'N' or 'n', _k specifies the number of columns of matrix _A. On entry with _t_r_a_n_s = 'C' or 'c', _k specifies the number of rows of matrix _A. _k must be >= 0. _a_l_p_h_a First scalar factor. (input) CCCCHHHHEEEERRRRKKKK: Single precision. ZZZZHHHHEEEERRRRKKKK: Double precision. _a Array of dimension (_l_d_a,_k_a). (input) CCCCHHHHEEEERRRRKKKK: Single precision complex array. ZZZZHHHHEEEERRRRKKKK: Double precision complex array. When _t_r_a_n_s = 'N' or 'n', _k_a is _k; otherwise, it is _n. Contains matrix _A. Before entry with _t_r_a_n_s = 'N' or 'n', the leading _n-by-_k part of array _a must contain matrix _A; otherwise, the leading _k-by-_n part of array _a must contain matrix _A. _l_d_a Integer. (input) Specifies the first dimension of _a as declared in the calling program. If _t_r_a_n_s = 'N' or 'n', _l_d_a >= MMMMAAAAXXXX(1,_n); otherwise, _l_d_a >= MMMMAAAAXXXX(1,_k). _b_e_t_a Second scalar factor. (input) CCCCHHHHEEEERRRRKKKK: Single precision. ZZZZHHHHEEEERRRRKKKK: Double precision. _c Array of dimension (_l_d_c,_n). (input and output) CCCCHHHHEEEERRRRKKKK: Single precision complex array. ZZZZHHHHEEEERRRRKKKK: Double precision complex array. Contains matrix _C. Before entry with _u_p_l_o = 'U' or 'u', the leading _n-by-_n upper triangular part of array _c must contain the upper triangular part of the Hermitian matrix. The strictly lower triangular part of _c is not referenced. On exit, the upper triangular part of the updated matrix overwrites the upper triangular part of array _c. Before entry with _u_p_l_o = 'L' or 'l', the leading _n-by-_n lower triangular part of array _c must contain the lower triangular part of the Hermitian matrix. The strictly upper triangular part of _c is not referenced. On exit, the lower triangular part of the updated matrix overwrites the lower triangular part of array _c. PPPPaaaaggggeeee 3333 CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) The imaginary parts of the diagonal elements need not be set and are assumed to be 0. On exit, they are set to 0. _l_d_c Integer. (input) Specifies the first dimension of _c as declared in the calling (sub)program. _l_d_c >= MMMMAAAAXXXX(1,_n). NNNNOOOOTTTTEEEESSSS CCCCHHHHEEEERRRRKKKK/ZZZZHHHHEEEERRRRKKKK is a Level 3 Basic Linear Algebra Subprogram (Level 3 BLAS). DDDDaaaattttaaaa TTTTyyyyppppeeeessss The following data types are described in this documentation: TTTTeeeerrrrmmmm UUUUsssseeeedddd DDDDaaaattttaaaa ttttyyyyppppeeee Fortran: Array dimensioned _n xxxx((((nnnn)))) Array of dimensions (_m,_n) xxxx((((mmmm,,,,nnnn)))) Character CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR Integer IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision RRRREEEEAAAALLLL Double precision DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN Single precision complex CCCCOOOOMMMMPPPPLLLLEEEEXXXX Double precision complex DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX C/C++: Array dimensioned _n xxxx[[[[_n]]]] Array of dimensions (_m,_n) xxxx[[[[mmmm****nnnn]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ssssccccssssllll____ccccoooommmmpppplllleeeexxxx PPPPaaaaggggeeee 4444 CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) CCCCHHHHEEEERRRRKKKK((((3333SSSS)))) Double precision complex ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx C++ STL: Array dimensioned _n xxxx[[[[_n]]]] Array of dimensions (_m,_n) xxxx[[[[mmmm****nnnn]]]] Character cccchhhhaaaarrrr Integer iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]]) Single precision ffffllllooooaaaatttt Double precision ddddoooouuuubbbblllleeee Single precision complex ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> Double precision complex ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> Note that you can explicitly declare multidimensional C/C++ arrays provided that the array dimensions are swapped with respect to the Fortran declaration (e.g., xxxx[[[[nnnn]]]][[[[mmmm]]]] in C/C++ versus xxxx((((mmmm,,,,nnnn)))) in Fortran). To avoid a compiler type mismatch error in C++ (or a compiler warning message in C), however, the array should be cast to a pointer of the appropriate type when passed as an argument to a SCSL routine. SSSSEEEEEEEE AAAALLLLSSSSOOOO IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS3333(3S), SSSSSSSSYYYYRRRRKKKK(3S) IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77 Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic Linear Algebra Subprograms Technical Forum. PPPPaaaaggggeeee 5555